from enum import Enum, auto, IntEnum, StrEnum, Flag

"""
auto(): 
    在 StrEnum 中会自动生成字符串类型的枚举值
    在 IntEnum 中会自动生成整数类型的枚举值，从 1 开始
    在 Flag 中会自动生成二次幂的枚举值, 防止出现重复值，1 2 4 ...
"""


class Color(IntEnum):
    RED = auto()
    GREEN = auto()
    BLUE = auto()
    YELLOW = auto()


print(Color.RED.value)
print(Color.GREEN.value)
print(Color.BLUE.value)
print(Color.YELLOW.value)

a = {Color.RED: "红色", Color.GREEN: "绿色", Color.BLUE: "蓝色", Color.YELLOW: "黄色"}
print(a[2])

if 2 in a:
    print(a[2])
